package com.wey.vo;

import com.google.gson.annotations.SerializedName;
import lombok.Data;

import java.util.List;

@Data
public class DeepSeekResponse {

    private String id;
    private String object;
    private Long created;
    private String model;
    private List<Choice> choices;
    private Usage usage;
    @SerializedName("system_fingerprint")
    private String systemFingerprint;

    @Data
    public static class Choice {
        private Integer index;
        private Message message;
        private Object logprobs;
        @SerializedName("finish_reason")
        private String finishReason;

    }

    @Data
    public static class Message {
        private String role;
        private String content;
    }

    @Data
    public static class Usage {
        @SerializedName("prompt_tokens")
        private Integer promptTokens;
        @SerializedName("completion_tokens")
        private Integer completionTokens;
        @SerializedName("total_tokens")
        private Integer totalTokens;
        @SerializedName("prompt_tokens_details")
        private PromptTokensDetails promptTokensDetails;
        @SerializedName("prompt_cache_hit_tokens")
        private Integer promptCacheHitTokens;
        @SerializedName("prompt_cache_miss_tokens")
        private Integer promptCacheMissTokens;

    }

    @Data
    public static class PromptTokensDetails {
        @SerializedName("cached_tokens")
        private Integer cachedTokens;

    }
}